<?php
// +----------------------------------------------------------------------
// | RXThinkCMF_EVTP5.1_PRO前后端分离旗舰版框架 [ RXThinkCMF ]
// +----------------------------------------------------------------------
// | 版权所有 2018~2021 南京RXThinkCMF研发中心
// +----------------------------------------------------------------------
// | 官方网站: http://www.rxthink.cn
// +----------------------------------------------------------------------
// | 作者: ZhangXuanNeng <rxthinkcmf@163.com>
// +----------------------------------------------------------------------
// | 免责声明:
// | 本软件框架禁止任何单位和个人用于任何违法、侵害他人合法利益等恶意的行为，禁止用于任何违
// | 反我国法律法规的一切平台研发，任何单位和个人使用本软件框架用于产品研发而产生的任何意外
// | 、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带
// | 或衍生的损失等)，本团队不承担任何法律责任。本软件框架只能用于公司和个人内部的法律所允
// | 许的合法合规的软件产品研发，详细声明内容请阅读《框架免责声明》附件；
// +----------------------------------------------------------------------

namespace app\admin\service;

use app\admin\model\Member;
use app\admin\model\MemberAuth;

/**
 * 会员管理-服务类
 * @author ZhangXuanNeng
 * @since 2020/11/20
 * Class MemberService
 * @package app\admin\service
 */
class MemberAuthService extends BaseService
{

    protected $authType = [1=>'支付宝',2=>'微信'] ;
    /**
     * 构造函数
     * @author ZhangXuanNeng
     * @since 2020/11/20
     * MemberService constructor.
     */
    public function __construct()
    {
        $this->model = new MemberAuth();
    }


    /**
     * 获取数据列表
     * @return array
     */
    public function getList()
    {
        $param = request()->param();

        $model = new MemberAuth();
        // 查询条件
        $map = [];
        if(isset($param['idcard']) && !empty($param['idcard'])){
            $map[] = ['a.idcard','=',encrypt($param['idcard'],config('api.CRYPTKEY'))];
        }

        if(isset($param['realname']) && !empty($param['realname'])){
            $map[] = ['a.realname','=',encrypt($param['realname'],config('api.CRYPTKEY'))];
        }

        if(isset($param['status']) && $param['status'] != ''){
            $map[] = ['a.status','=',$param['status']];
        }


        if (isset($param['time'][0]) && !empty($param['time'][0])) {
            $map[] = ['a.create_time', '>=', strtotime($param['time'][0])];

        }
        if (isset($param['time'][1]) && !empty($param['time'][1])) {
            $map[] = ['a.create_time', '<=', strtotime($param['time'][1])];
        }

        $map[] = ['m.source','=',2];  //筛选盒子用户
        $memberModel = $model->alias('a')
            ->join('cq_member m','a.uid = m.id')
            ->field('a.id,a.uid,a.realname,a.idcard,m.nickname,m.phone,a.auth_type,a.status,a.reason,a.create_time')
            ->where($map)
            ->order('m.id desc');
        $count = $memberModel->count();
        $list =$memberModel->page(PAGE, PERPAGE)->select();


        foreach ($list as $key => &$value) {
            //解密字符串
            $value['realname'] = isset($value['realname']) ? decrypt($value['realname'],config('api.CRYPTKEY')) : '';
            $value['idcard'] = isset($value['idcard']) ? decrypt($value['idcard'],config('api.CRYPTKEY')) : '';
            $value['auth_type_name'] = isset($this->authType[$value['auth_type']]) ? $this->authType[$value['auth_type']] : '';
        }
        //返回结果
        $message = array(
            "msg" => '操作成功',
            "code" => 0,
            "data" => $list,
            "count" => $count,
        );
        return $message;
    }


}